【新機能】ELBが全ポート対応!アクセスログの項目も追加しました!
こんにちは、せーのです。 今日は久々にELBのアップデートのご紹介をします。
全ポート対応
今までELBはWell-knownと呼ばれるよく使うポート(25, 80, 443, 465, 587)とカスタム用としてEphemeral portと呼ばれるTCP/IPが自動で振り分けるポート(1024-65535)に対してアクセスを可能としてきました。 今日からはその制限が取り払われ、全てのポートに対してELBへのアクセスを割り振ることが出来るようになりました!これは使い道が広がりますね。
やってみた
それでは早速やってみましょう。 まずはEC2を2台立てます。
現在セキュリティグループとして22と80を開けています。あとVPC内であれば全てのアクセスを可能としています。
実際にSSHで直接アクセスしてみます。
$ ssh [email protected] -i ~/dev/key/cm_experimentation.pem Warning: Permanently added '52.68.81.23' (RSA) to the list of known hosts. __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/ 7 package(s) needed for security, out of 19 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-0-1-186 ~]$
アクセスできました。当たり前ですね。 疎通確認用にApacheを立てておきます。
[ec2-user@ip-10-0-1-186 ~]$ sudo yum update -y [ec2-user@ip-10-0-1-186 ~]$ sudo yum install httpd -y [ec2-user@ip-10-0-1-186 ~]$ sudo service httpd start
同じことをもう一つのEC2にも行います。
そしてセキュリティグループから22のアクセスを削除します。
これで外から直接はアクセスできなくなりました。 さて、ここから本番です。ELBを22番で立ててみます。
こんなELBは見たことないですが、実験なので続けます。 セキュリティグループはELB用に新規に作成します。22番と80番、VPC内の全てのポートの通信を許可します。
これで史上初、SSH用ELBが立ちました。
それでは実際にアクセスしてみます。ELBのDNSに向けてSSHを送ります。
ssh [email protected] -i ~/dev/key/cm_experimentation.pem Warning: Permanently added 'testsshelb-1290645378.ap-northeast-1.elb.amazonaws.com,54.178.207.84' (RSA) to the list of known hosts. Last login: Wed Sep 16 12:30:11 2015 from pb6abe8ed.hkidff01.ap.so-net.ne.jp __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/ [ec2-user@ip-10-0-1-186 ~]$
EC2に繋がりました!こちらは、、、test-cですね。 何回か同じDNSに向けてSSHを出していると今度はtest-aに繋がりました。
ssh [email protected] -i ~/dev/key/cm_experimentation.pem Last login: Wed Sep 16 12:32:14 2015 from pb6abe8ed.hkidff01.ap.so-net.ne.jp __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/ [ec2-user@ip-10-0-0-237 ~]$
SSHを綺麗にバランシングしてくれていますね。このどちらのEC2に繋がるかわからない、というスリルがたまりません。
アクセスログの項目追加
ELBは本日もう一つのアップデートがありました。ELBはS3にアクセスログを吐くことができるのですが、その項目に
- User Agent
- SSL Cipher and Protocol
の2項目が追加されました。[User Agent]はELBにアクセスしたデバイスの種類等がわかり、[SSL Cipher and Protocol]はSSL通信での暗号化形式(DHE-RSA-AES128-SHA TLSv1.2とか)が分かります。 User Agent等は分析にも利用できそうですね!
まとめ
いかがでしたでしょうか。特に許可ポートの拡張はELBをプロキシとして内部で使う時等には便利そうですね。 是非ご活用下さい。